package org.example.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.example.entity.Order;
import org.example.entity.OrderItem;

import java.util.List;

/**
 * 订单服务接口
 */
public interface OrderService extends IService<Order> {

    /**
     * 创建订单（包含订单项）
     */
    boolean createOrder(Order order, List<OrderItem> orderItems);

    /**
     * 根据用户ID查询订单列表
     */
    List<Order> getOrdersByUserId(Long userId);

    /**
     * 根据订单状态查询订单列表
     */
    List<Order> getOrdersByStatus(String orderStatus);

    /**
     * 根据用户ID和订单状态查询订单列表
     */
    List<Order> getOrdersByUserIdAndStatus(Long userId, String orderStatus);

    /**
     * 获取订单详情（包含订单项）
     */
    Order getOrderDetail(Long orderId);

    /**
     * 更新订单状态
     */
    boolean updateOrderStatus(Long orderId, String orderStatus);
} 